package org.sqldroid;

import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Date;
import java.sql.NClob;
import java.sql.Ref;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.SQLXML;
import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Map;

import android.database.Cursor;

public class SqldroidResultSet implements ResultSet {
	private final Cursor c;
	private int lastColumnRead;

	public SqldroidResultSet(final Cursor c) {
		this.c = c;
	}

	/**
	 * convert JDBC columns index count (from one) to sqlite (from zero)
	 * 
	 * @param colID
	 */
	private int ci(final int colID) {
		return colID - 1;
	}

	public boolean absolute(final int row) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return false;
	}

	public void afterLast() throws SQLException {
		c.moveToLast();
		c.moveToNext();

	}

	public void beforeFirst() throws SQLException {
		c.moveToFirst();
		c.moveToPrevious();

	}

	public void cancelRowUpdates() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
	}

	public void clearWarnings() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void close() throws SQLException {
		if (c != null && !c.isClosed()) {
			c.close();
		}
	}

	public void deleteRow() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public int findColumn(final String columnName) throws SQLException {
		return c.getColumnIndex(columnName);
	}

	public boolean first() throws SQLException {
		return c.moveToFirst();
	}

	public Array getArray(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Array getArray(final String colName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public InputStream getAsciiStream(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public InputStream getAsciiStream(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public BigDecimal getBigDecimal(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public BigDecimal getBigDecimal(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public BigDecimal getBigDecimal(final int colID, final int scale) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public BigDecimal getBigDecimal(final String columnName, final int scale) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public InputStream getBinaryStream(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public InputStream getBinaryStream(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Blob getBlob(final int index) throws SQLException {
		lastColumnRead = index;
		final byte[] b = c.getBlob(ci(index));
		return new SqldroidBlob(b);
	}

	public Blob getBlob(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return new SqldroidBlob(c.getBlob(index));
	}

	public boolean getBoolean(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getInt(ci(index)) != 0;
	}

	public boolean getBoolean(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getInt(index) != 0;
	}

	public byte getByte(final int index) throws SQLException {
		lastColumnRead = index;
		return (byte) c.getShort(ci(index));
	}

	public byte getByte(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return (byte) c.getShort(index);
	}

	public byte[] getBytes(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getBlob(ci(index));
	}

	public byte[] getBytes(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getBlob(index);
	}

	public Reader getCharacterStream(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Reader getCharacterStream(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Clob getClob(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Clob getClob(final String colName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public int getConcurrency() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return 0;
	}

	public String getCursorName() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Date getDate(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Date getDate(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Date getDate(final int colID, final Calendar cal) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Date getDate(final String columnName, final Calendar cal) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public double getDouble(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getDouble(ci(index));
	}

	public double getDouble(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getDouble(index);
	}

	public int getFetchDirection() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return 0;
	}

	public int getFetchSize() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return 0;
	}

	public float getFloat(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getFloat(ci(index));
	}

	public float getFloat(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getFloat(index);
	}

	public int getInt(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getInt(ci(index));
	}

	public int getInt(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getInt(index);
	}

	public long getLong(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getLong(ci(index));
	}

	public long getLong(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getLong(index);
	}

	public ResultSetMetaData getMetaData() throws SQLException {
		return new SqldroidResultSetMetaData(c);
	}

	public Object getObject(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Object getObject(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Object getObject(final int arg0, final Map<String, Class<?>> arg1) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Object getObject(final String arg0, final Map<String, Class<?>> arg1) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Ref getRef(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Ref getRef(final String colName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public int getRow() throws SQLException {
		// convert to jdbc standard (counting from one)
		return c.getPosition() + 1;
	}

	public short getShort(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getShort(ci(index));
	}

	public short getShort(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getShort(index);
	}

	public Statement getStatement() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public String getString(final int index) throws SQLException {
		lastColumnRead = index;
		return c.getString(ci(index));
	}

	public String getString(final String columnName) throws SQLException {
		final int index = c.getColumnIndex(columnName);
		lastColumnRead = index;
		return c.getString(index);
	}

	public Time getTime(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Time getTime(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Time getTime(final int colID, final Calendar cal) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Time getTime(final String columnName, final Calendar cal) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Timestamp getTimestamp(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Timestamp getTimestamp(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Timestamp getTimestamp(final int colID, final Calendar cal) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Timestamp getTimestamp(final String columnName, final Calendar cal) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public int getType() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return 0;
	}

	public URL getURL(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public URL getURL(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public InputStream getUnicodeStream(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public InputStream getUnicodeStream(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public SQLWarning getWarnings() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public void insertRow() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public boolean isAfterLast() throws SQLException {
		return c.isAfterLast();
	}

	public boolean isBeforeFirst() throws SQLException {
		return c.isBeforeFirst();
	}

	public boolean isFirst() throws SQLException {
		return c.isFirst();
	}

	public boolean isLast() throws SQLException {
		return c.isLast();
	}

	public boolean last() throws SQLException {
		return c.moveToLast();
	}

	public void moveToCurrentRow() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void moveToInsertRow() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public boolean next() throws SQLException {
		return c.moveToNext();
	}

	public boolean previous() throws SQLException {
		return c.moveToPrevious();
	}

	public void refreshRow() throws SQLException {
		c.requery();
	}

	public boolean relative(final int rows) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return false;
	}

	public boolean rowDeleted() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return false;
	}

	public boolean rowInserted() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return false;
	}

	public boolean rowUpdated() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return false;
	}

	public void setFetchDirection(final int direction) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void setFetchSize(final int rows) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateArray(final int colID, final Array x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateArray(final String columnName, final Array x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateAsciiStream(final int colID, final InputStream x, final int length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateAsciiStream(final String columnName, final InputStream x, final int length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBigDecimal(final int colID, final BigDecimal x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBigDecimal(final String columnName, final BigDecimal x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBinaryStream(final int colID, final InputStream x, final int length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBinaryStream(final String columnName, final InputStream x, final int length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBlob(final int colID, final Blob x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBlob(final String columnName, final Blob x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBoolean(final int colID, final boolean x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBoolean(final String columnName, final boolean x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateByte(final int colID, final byte x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateByte(final String columnName, final byte x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBytes(final int colID, final byte[] x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBytes(final String columnName, final byte[] x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateCharacterStream(final int colID, final Reader x, final int length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateCharacterStream(final String columnName, final Reader reader, final int length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateClob(final int colID, final Clob x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateClob(final String columnName, final Clob x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateDate(final int colID, final Date x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateDate(final String columnName, final Date x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateDouble(final int colID, final double x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateDouble(final String columnName, final double x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateFloat(final int colID, final float x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateFloat(final String columnName, final float x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateInt(final int colID, final int x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateInt(final String columnName, final int x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateLong(final int colID, final long x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateLong(final String columnName, final long x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateNull(final int colID) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateNull(final String columnName) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateObject(final int colID, final Object x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateObject(final String columnName, final Object x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateObject(final int colID, final Object x, final int scale) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateObject(final String columnName, final Object x, final int scale) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateRef(final int colID, final Ref x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateRef(final String columnName, final Ref x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateRow() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateShort(final int colID, final short x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateShort(final String columnName, final short x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateString(final int colID, final String x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateString(final String columnName, final String x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateTime(final int colID, final Time x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateTime(final String columnName, final Time x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateTimestamp(final int colID, final Timestamp x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateTimestamp(final String columnName, final Timestamp x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
	}

	public boolean wasNull() throws SQLException {
		return c.isNull(ci(lastColumnRead));
	}

	public boolean isWrapperFor(final Class<?> arg0) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return false;
	}

	public <T> T unwrap(final Class<T> arg0) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public int getHoldability() throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return 0;
	}

	public Reader getNCharacterStream(final int columnIndex) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public Reader getNCharacterStream(final String columnLabel) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public NClob getNClob(final int columnIndex) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public NClob getNClob(final String columnLabel) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public String getNString(final int columnIndex) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public String getNString(final String columnLabel) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public RowId getRowId(final int columnIndex) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public RowId getRowId(final String columnLabel) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public SQLXML getSQLXML(final int columnIndex) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public SQLXML getSQLXML(final String columnLabel) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());
		return null;
	}

	public boolean isClosed() throws SQLException {
		return c.isClosed();
	}

	public void updateAsciiStream(final int columnIndex, final InputStream x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateAsciiStream(final String columnLabel, final InputStream x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateAsciiStream(final int columnIndex, final InputStream x, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateAsciiStream(final String columnLabel, final InputStream x, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBinaryStream(final int columnIndex, final InputStream x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBinaryStream(final String columnLabel, final InputStream x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBinaryStream(final int columnIndex, final InputStream x, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBinaryStream(final String columnLabel, final InputStream x, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBlob(final int columnIndex, final InputStream inputStream) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBlob(final String columnLabel, final InputStream inputStream) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBlob(final int columnIndex, final InputStream inputStream, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateBlob(final String columnLabel, final InputStream inputStream, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateCharacterStream(final int columnIndex, final Reader x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateCharacterStream(final String columnLabel, final Reader reader) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateCharacterStream(final int columnIndex, final Reader x, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateCharacterStream(final String columnLabel, final Reader reader, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateClob(final int columnIndex, final Reader reader) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateClob(final String columnLabel, final Reader reader) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateClob(final int columnIndex, final Reader reader, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateClob(final String columnLabel, final Reader reader, final long length) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateNCharacterStream(final int columnIndex, final Reader x) throws SQLException {
		System.err.println(" ********************* not implemented @ " + DebugPrinter.getFileName() + " line "
				+ DebugPrinter.getLineNumber());

	}

	public void updateNCharacterStream(final String columnLabel, final Reader reader) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNCharacterStream(final int columnIndex, final Reader x, final long length) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNCharacterStream(final String columnLabel, final Reader reader, final long length) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNClob(final int columnIndex, final NClob nClob) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNClob(final String columnLabel, final NClob nClob) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNClob(final int columnIndex, final Reader reader) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNClob(final String columnLabel, final Reader reader) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNClob(final int columnIndex, final Reader reader, final long length) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNClob(final String columnLabel, final Reader reader, final long length) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNString(final int columnIndex, final String nString) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateNString(final String columnLabel, final String nString) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateRowId(final int columnIndex, final RowId value) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateRowId(final String columnLabel, final RowId value) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateSQLXML(final int columnIndex, final SQLXML xmlObject) throws SQLException {
		// TODO Auto-generated method stub

	}

	public void updateSQLXML(final String columnLabel, final SQLXML xmlObject) throws SQLException {
		// TODO Auto-generated method stub

	}

}
